/** layui-v1.0.7 LGPL License By http://www.layui.com */
; !
    function(e) {
     "use strict";
     var t = function() {
      this.v = "1.0.7"
     };
     t.fn = t.prototype;
     var n = document,
         o = t.fn.cache = {},
         i = function() {
          var e = n.scripts,
              t = e[e.length - 1].src;
          return t.substring(0, t.lastIndexOf("/") + 1)
         } (),
         r = function(t) {
          e.console && console.error && console.error("Layui hint: " + t)
         },
         u = "undefined" != typeof opera && "[object Opera]" === opera.toString(),
         l = {
          layer: "modules/layer",
          laydate: "modules/laydate",
          laypage: "modules/laypage",
          laytpl: "modules/laytpl",
          layim: "modules/layim",
          layedit: "modules/layedit",
          form: "modules/form",
          upload: "modules/upload",
          tree: "modules/tree",
          slide: "modules/slide",
          table: "modules/table",
          element: "modules/element",
          util: "modules/util",
          flow: "modules/flow",
          code: "modules/code",
          single: "modules/single",
          mobile: "modules/mobile",
          jquery: "lib/jquery",
          "layui.mod": "dest/layui.mod"
         };
     o.modules = {},
         o.status = {},
         o.timeout = 10,
         o.event = {},
         t.fn.define = function(e, t) {
          var n = this,
              i = "function" == typeof e,
              r = function() {
               return "function" == typeof t && t(function(e, t) {
                layui[e] = t,
                    o.status[e] = !0
               }),
                   this
              };
          return i && (t = e, e = []),
              layui["layui.all"] ? r.call(n) : (n.use(e, r), n)
         },
         t.fn.use = function(e, t, a) {
          function s(e, t) {
           var n = "PLaySTATION 3" === navigator.platform ? /^complete$/: /^(complete|loaded)$/; ("load" === e.type || n.test((e.currentTarget || e.srcElement).readyState)) && (o.modules[m] = t, y.removeChild(v),
               function i() {
                return++p > 1e3 * o.timeout / 4 ? r(m + " is not a valid module") : void(o.status[m] ? c() : setTimeout(i, 4))
               } ())
          }
          function c() {
           a.push(layui[m]),
               e.length > 1 ? f.use(e.slice(1), t, a) : "function" == typeof t && t.apply(layui, a)
          }
          var f = this,
              d = o.dir = o.dir ? o.dir: i,
              y = n.getElementsByTagName("head")[0];
          e = "string" == typeof e ? [e] : e,
          window.jQuery && jQuery.fn.on && (f.each(e,
              function(t, n) {
               "jquery" === n && e.splice(t, 1)
              }), layui.jquery = jQuery);
          var m = e[0],
              p = 0;
          if (a = a || [], o.host = o.host || (d.match(/\/\/([\s\S]+?)\//) || ["//" + location.host + "/"])[0], 0 === e.length || layui["layui.all"] && l[m]) return "function" == typeof t && t.apply(layui, a),
              f;
          var v = n.createElement("script"),
              h = (l[m] ? d + "lay/": o.base || "") + (f.modules[m] || m) + ".js";
          return v.async = !0,
              v.charset = "utf-8",
              v.src = h +
                  function() {
                   var e = o.version === !0 ? o.v || (new Date).getTime() : o.version || "";
                   return e ? "?v=" + e: ""
                  } (),
              o.modules[m] ? !
                  function g() {
                   return++p > 1e3 * o.timeout / 4 ? r(m + " is not a valid module") : void("string" == typeof o.modules[m] && o.status[m] ? c() : setTimeout(g, 4))
                  } () : (y.appendChild(v), !v.attachEvent || v.attachEvent.toString && v.attachEvent.toString().indexOf("[native code") < 0 || u ? v.addEventListener("load",
                  function(e) {
                   s(e, h)
                  },
                  !1) : v.attachEvent("onreadystatechange",
                  function(e) {
                   s(e, h)
                  })),
              o.modules[m] = h,
              f
         },
         t.fn.getStyle = function(t, n) {
          var o = t.currentStyle ? t.currentStyle: e.getComputedStyle(t, null);
          return o[o.getPropertyValue ? "getPropertyValue": "getAttribute"](n)
         },
         t.fn.link = function(e, t, i) {
          var u = this,
              l = n.createElement("link"),
              a = n.getElementsByTagName("head")[0];
          "string" == typeof t && (i = t);
          var s = (i || e).replace(/\.|\//g, ""),
              c = l.id = "layuicss-" + s,
              f = 0;
          l.rel = "stylesheet",
              l.href = e + (o.debug ? "?v=" + (new Date).getTime() : ""),
              l.media = "all",
          n.getElementById(c) || a.appendChild(l),
          "function" == typeof t && !
              function d() {
               return++f > 1e3 * o.timeout / 100 ? r(e + " timeout") : void(1989 === parseInt(u.getStyle(n.getElementById(c), "width")) ?
                   function() {
                    t()
                   } () : setTimeout(d, 100))
              } ()
         },
         t.fn.addcss = function(e, t, n) {
          layui.link(o.dir + "css/" + e, t, n)
         },
         t.fn.img = function(e, t, n) {
          var o = new Image;
          return o.src = e,
              o.complete ? t(o) : (o.onload = function() {
               o.onload = null,
                   t(o)
              },
                  void(o.onerror = function(e) {
                   o.onerror = null,
                       n(e)
                  }))
         },
         t.fn.config = function(e) {
          e = e || {};
          for (var t in e) o[t] = e[t];
          return this
         },
         t.fn.modules = function() {
          var e = {};
          for (var t in l) e[t] = l[t];
          return e
         } (),
         t.fn.extend = function(e) {
          var t = this;
          e = e || {};
          for (var n in e) t[n] || t.modules[n] ? r("模块名 " + n + " 已被占用") : t.modules[n] = e[n];
          return t
         },
         t.fn.router = function(e) {
          for (var t, n = (e || location.hash).replace(/^#/, "").split("/") || [], o = {
               dir: []
              },
                   i = 0; i < n.length; i++) t = n[i].split("="),
              /^\w+=/.test(n[i]) ?
                  function() {
                   "dir" !== t[0] && (o[t[0]] = t[1])
                  } () : o.dir.push(n[i]),
              t = null;
          return o
         },
         t.fn.data = function(t, n) {
          if (t = t || "layui", e.JSON && e.JSON.parse) {
           if (null === n) return delete localStorage[t];
           n = "object" == typeof n ? n: {
            key: n
           };
           try {
            var o = JSON.parse(localStorage[t])
           } catch(i) {
            var o = {}
           }
           return n.value && (o[n.key] = n.value),
           n.remove && delete o[n.key],
               localStorage[t] = JSON.stringify(o),
               n.key ? o[n.key] : o
          }
         },
         t.fn.device = function(t) {
          var n = navigator.userAgent.toLowerCase(),
              o = function(e) {
               var t = new RegExp(e + "/([^\\s\\_\\-]+)");
               return e = (n.match(t) || [])[1],
               e || !1
              },
              i = {
               os: function() {
                return /windows/.test(n) ? "windows": /linux/.test(n) ? "linux": /iphone|ipod|ipad|ios/.test(n) ? "ios": void 0
               } (),
               ie: function() {
                return !! (e.ActiveXObject || "ActiveXObject" in e) && ((n.match(/msie\s(\d+)/) || [])[1] || "11")
               } (),
               weixin: o("micromessenger")
              };
          return t && !i[t] && (i[t] = o(t)),
              i.android = /android/.test(n),
              i.ios = "ios" === i.os,
              i
         },
         t.fn.hint = function() {
          return {
           error: r
          }
         },
         t.fn.each = function(e, t) {
          var n, o = this;
          if ("function" != typeof t) return o;
          if (e = e || [], e.constructor === Object) {
           for (n in e) if (t.call(e[n], n, e[n])) break
          } else for (n = 0; n < e.length && !t.call(e[n], n, e[n]); n++);
          return o
         },
         t.fn.stope = function(t) {
          t = t || e.event,
              t.stopPropagation ? t.stopPropagation() : t.cancelBubble = !0
         },
         t.fn.onevent = function(e, t, n) {
          return "string" != typeof e || "function" != typeof n ? this: (o.event[e + "." + t] = [n], this)
         },
         t.fn.event = function(e, t, n) {
          var i = this,
              r = null,
              u = t.match(/\(.*\)$/) || [],
              l = (t = e + "." + t).replace(u, ""),
              a = function(e, t) {
               var o = t && t.call(i, n);
               o === !1 && null === r && (r = !1)
              };
          return layui.each(o.event[l], a),
          u[0] && layui.each(o.event[t], a),
              r
         },
         e.layui = new t
    } (window);